<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Admin extends CI_Controller {

    public $css = null;
    public $js = null;
    public $usuario;
    public $cod_empresa;

    public function __construct() {
        parent::__construct();
        $this->css = array('cadastroempresa','bootstrap', 'menu', 'small-business', 'painel_user', 'tabs','hover','../lighter/css/lighter');
        $this->js = array('jquery-1.10.2', 'bootstrap', 'funcoesComuns', 'jquery.maskedinput.min','jquery.dataTables.min','jquery.form.min' );
        //$this->load->helper();
        $this->load->model('empresa_model', 'empresa');
        $this->load->model('atendente_model', 'atendente');
        $this->load->model('farmaceutico_model', 'farmaceutico');
        $this->load->model('medico_model', 'medico');
        $this->load->model('config_model', 'configGeral');

        $this->usuario = $this->session->userdata('cod_admin');
        $this->cod_empresa= $this->session->userdata('cod_empresa');
        
    }
    public function teste($num){
       $novas=  $this->configGeral->getNovas();
       $ret="";
       if ($novas) {
            foreach ($novas as $nova) {
                $ret.="Nome: " . $nova['NOME'] . "<br>";
                $ret.="Data: " . $nova['DATA']. "<br>" ;
                $ret.="Tempo: " . $this->hora($nova['TEMPO']) . "<br>". "<br><hr style='border:1px solid red'>";
            }
        }else{$ret="Ninguem Inativo";}
        echo $ret;
    }
    public function hora($seconds){
        $hours = floor($seconds / 3600);
        $seconds -= $hours * 3600;
        $minutes = floor($seconds / 60);
        $seconds -= $minutes * 60;

        return "$hours : $minutes : $seconds";
    }
    public function index() {
        $this->admin();
    }

    public function login() {
        $data['mensageFaixa'] = "Entre com  suas informações de adminstrador, <br> Se for novo aqui, cadastre sua empresa";
        $data['mensagem_erro'] = "";
        $data['lnklogin']=  base_url()."login";
        $data['labelLogin']="Acesso Usuário";
        $tela = array(
            'cabecalho' => 'telas/cabecalho.php',
            'topo' => 'telas/vazio.php', //mostrar o topo somente quando n�o for a tela de login
            'faixa_horizontal' => 'telas/faixa_horizontal.php',
            'conteudo' => 'telas/login_admin.php',
        );


        $this->parser->adc_css($this->css);
        $this->parser->adc_js($this->js);
        $this->parser->mostrar('templates/template_corpo.php', $tela, $data);
    }

    public function cadastro() {
        $data['mensageFaixa'] = "Colocar Uma frase qualquer";
        $data['estado']=  $this->configGeral->getEstado();
        $estadoSelecionado=$this->session->flashdata('estado');
         if ($estadoSelecionado==""){$estadoSelecionado='RJ';}
        foreach ($data['estado'] as $key => $estado) {
            $data['estado'][$key]['SELECTED']='';
            if ($estado['UF']==$estadoSelecionado){
                $data['estado'][$key]['SELECTED']='SELECTED';                        
            }
        }
        
        
        $tela = array(
            'cabecalho' => 'telas/cabecalho.php',
            'topo' => 'telas/vazio.php', //mostrar o topo somente quando n�o for a tela de login
            'faixa_horizontal' => 'telas/vazio.php',
            'conteudo' => 'telas/cadastro/cadastroEmpresa.php',
        );


        $this->parser->adc_css($this->css);
        $this->parser->adc_js($this->js);
        $this->parser->adc_js('mapa');
        $this->parser->mostrar('templates/template_corpo.php', $tela, $data);
    }

    public function efetuarCadastro() {
        $this->form_validation->set_rules('nome', 'Administrador', 'required');
        $this->form_validation->set_message('is_unique', '%s já esta sendo utilizado.');
        $this->form_validation->set_rules('login', 'Login', 'required|min_length[6]|is_unique[tcc_administrador.LOGIN]');
        $this->form_validation->set_rules('senha', 'Senha', 'required');
        $this->form_validation->set_rules('email', 'Email do Administrador', 'required||is_unique[tcc_administrador.EMAIL]');
        $this->form_validation->set_rules('nome_empresa', 'Nome da Empresa');
        $this->form_validation->set_rules('razao_social', 'Razão Social', 'is_unique[tcc_empresa.RAZAO_SOCIAL]');
        $this->form_validation->set_rules('descricao', 'Descrição');
        $this->form_validation->set_rules('cnpj', 'CNPJ');
        $this->form_validation->set_rules('email_empresa', 'Email da Empresa');
        $this->form_validation->set_rules('telefone', 'Telefone');
        $this->form_validation->set_rules('cep', 'CEP');
        $this->form_validation->set_rules('endereco', 'Endereço');
        $this->form_validation->set_rules('bairro', 'Bairro');
        $this->form_validation->set_rules('cidade', 'Cidade');
        $this->form_validation->set_rules('latitude', 'Latitude');
        $this->form_validation->set_rules('longitude', 'Longitude');
        
        if ($this->form_validation->run() == FALSE) {
            $this->session->set_flashdata('estado',$this->input->post("estado"));
            $this->cadastro();
        } else {

            $dadosEmpresa = array(
                "NOME" => $this->input->post("nome_empresa"),
                "RAZAO_SOCIAL" => $this->input->post("razao_social"),
                "DESCRICAO" => $this->input->post("descricao"),
                "CNPJ" => $this->input->post("cnpj"),
                "EMAIL" => $this->input->post("email_empresa"),
                "TELEFONE" => $this->input->post("telefone"),
                "CEP" => $this->input->post("cep"),
                "ESTADO" => $this->input->post("estado"),
                "ENDERECO" => $this->input->post("endereco"),
                "BAIRRO" => $this->input->post("bairro"),
                "CIDADE" => $this->input->post("cidade"),
                "SEGMENTO" => $this->input->post("segmento"),
                "LATITUDE" => $this->input->post("latitude"),
                "LONGITUDE" => $this->input->post("longitude"),
            );
            $idEmpresa = $this->empresa->novaEmpresa($dadosEmpresa);
            if (!is_null($idEmpresa)) {
                $dadosAdministrador = array(
                    "NOME" => $this->input->post("nome"),
                    "EMAIL" => $this->input->post("email"),
                    "LOGIN" => $this->input->post("login"),
                    "SENHA" => md5($this->input->post("senha")),
                    "COD_EMPRESA" => $idEmpresa,
                );
                $idAdministrador = $this->empresa->novoAdministrador($dadosAdministrador);
                if (!is_null($idAdministrador)) {
                    $dados['id']=$idAdministrador;
                    $dados["senha"]= $this->input->post("senha");
                    $dados["nome"]= $this->input->post("nome");
                    $dados["email"]= $this->input->post("email");
                    $dados["login"]= $this->input->post("login");
                    $dados["redirect"]= "admin";
                    $this->_email($dados);
                    // $this->_send_email_ativacao($dados);
                    
                    $this->session->set_flashdata('mensagem', "<div class='alert alert-success'>Cadastro realizado com successo.<br>Enviamos um email de ativação para sua conta, siga o procedimento descrito no email para ativaçao.</div>");
                    redirect('admin/login');
                } else {
                    $this->cadastro();
                }
            } else {
                $this->cadastro();
            }
        }
    }
    public function getDadosAdministrador(){
        $data = array_change_key_case ($this->empresa->getAdministrador($this->usuario));
        $data['pasta']='administrador/';
        $data['empresa']= array_change_key_case ($this->empresa->getEmpresas($this->cod_empresa)) ;
         return $data;
    }
    public function admin() {
        $this->verificarLogado();
        
        $data=  $this->getDadosAdministrador();
        
        //$this->printArray($data);
        //die();
        $data['mensageFaixa'] = "Selecione a apção desejada, clicando sobre a imagem";
        $data['ref']="admin/";
        $tela = array('cabecalho' => 'telas/cabecalho_logado.php',
            'topo' => 'telas/vazio.php', //mostrar o topo somente quando n�o for a tela de login
            'faixa_horizontal' => 'telas/faixa_horizontal.php',
            'conteudo' => 'telas/index_admin.php');
        $this->parser->adc_css($this->css);
        $this->parser->adc_js($this->js);
        $this->parser->mostrar('templates/template_corpo.php', $tela, $data);
    }
   
   /* public function listaMedico(){
       $this->verificarLogado();
        $data=  $this->getDadosAdministrador();
        $data['medicos']=$this->medico->getMedicoByEmpresa($this->session->userdata('cod_empresa'));
        $data['estado']=  $this->configGeral->getEstado();
        if(!is_null($data['medicos'])){
            foreach ($data['medicos'] as $key => $medico) {       
                $data['medicos'][$key]['ESPECIALIDADE']=  $this->getEspecialidade($medico['CODIGO']);          
            }
        }
        $data['ref']="admin/";
       $tela = array('cabecalho' => 'telas/cabecalho_logado.php',
            'topo' => 'telas/vazio.php', //mostrar o topo somente quando n�o for a tela de login
            'faixa_horizontal' => 'telas/vazio.php',
            'conteudo' => 'telas/lista/medico.php');
        $this->parser->adc_css($this->css);
        $this->parser->adc_js($this->js);
        $this->parser->mostrar('templates/template_corpo.php', $tela, $data);
    }
    public function getEspecialidade($cod_medico){
        $especialidades= $this->medico->getEspecialidadeMedico($cod_medico);
        $ret="";
        if(is_null($especialidades)){
            return "Não Informado";
        }else{
            foreach ($especialidades as $especialidade) {
                $ret.=ucfirst(mb_strtolower($especialidade['ESPECIALIDADE'])).", ";
            }
        }
        return $ret;
    }*/
    
   
    public function cadastroAtendente() {
        $this->verificarLogado();
        $data=  $this->getDadosAdministrador();
        $data['mensageFaixa'] = "Preencha todas as informações abaixo.";
        $tela = array('cabecalho' => 'telas/cabecalho_logado.php',
            'topo' => 'telas/vazio.php', //mostrar o topo somente quando n�o for a tela de login
            'faixa_horizontal' => 'telas/faixa_horizontal.php',
            'conteudo' => 'telas/cadastro/cadastroAtendente.php');
        $this->parser->adc_css($this->css);
        $this->parser->adc_js($this->js);
        $this->parser->mostrar('templates/template_corpo.php', $tela, $data);
    }

    public function cadastroMedico() {
        $this->verificarLogado();
        $data['mensageFaixa'] = "Preencha todas as informações abaixo.";
        $data['dados_usuario'] = $this->empresa->getAdministrador($this->usuario);
        $tela = array('cabecalho' => 'telas/cabecalho_logado.php',
            'topo' => 'telas/vazio.php', //mostrar o topo somente quando n�o for a tela de login
            'faixa_horizontal' => 'telas/faixa_horizontal.php',
            'conteudo' => 'telas/cadastro/cadastroMedico.php');
        $this->parser->adc_css($this->css);
        $this->parser->adc_js($this->js);
        $this->parser->mostrar('templates/template_corpo.php', $tela, $data);
    }

    public function cadastroAtendenteF() {
        $this->verificarLogado();
        $data['mensageFaixa'] = "Preencha todas as informações abaixo.";
        $data['dados_usuario'] = $this->empresa->getAdministrador($this->usuario);
        $tela = array('cabecalho' => 'telas/cabecalho_logado.php',
            'topo' => 'telas/vazio.php', //mostrar o topo somente quando n�o for a tela de login
            'faixa_horizontal' => 'telas/faixa_horizontal.php',
            'conteudo' => 'telas/cadastro/cadastroAtendenteF.php');
        $this->parser->adc_css($this->css);
        $this->parser->adc_js($this->js);
        $this->parser->mostrar('templates/template_corpo.php', $tela, $data);
    }

    public function verificarLogado() {
        if (!$this->session->userdata('logged_admin_in')) {
            redirect('admin/login');
        }
    }
    public function ativarConta($id){
        $dados['STATUS']='1';
        $ret=$this->empresa->updateAdministrador($dados,$id);
        if($ret){
             $msg  = "<div class='alert alert-success'>Seu cadastro foi ativado com sucesso.<br>Utilize os dados de acesso para entrar no sistema. <br></div>";
            $this->session->set_flashdata('mensagem', $msg);
            
        }else{
             $msg  = "<div class='alert alert-danger'>Houve uma falha na ativação do seu cadastro, por favor entre em contato com o desenvolvedor<br></div>";
            $this->session->set_flashdata('mensagem_erro', $msg);
        }
        redirect('admin/login');
    }
  
    public function testemail(){
        $dados['id']="00";
        $dados["senha"]= "123456";
        $dados["nome"]= "Teste de envio de email";
        $dados["email"]= "ivan.rufino.m@hotmail.com.br";
        $dados["login"]= "Login de teste";
        $dados["redirect"]= "admin";
        $mail=$this->_email($dados);
        if($mail=="ok"){
            echo 'enviado';
        }else{
            echo $mail;
        }
    }
    public function _email($dados) {   
    //    $config = $this->configEmail();
    //    $this->email->initialize($config);
     
        $this->email->from('ivan.rufino.m@gmail.com', 'Ivan Rufino');
        $this->email->to($dados['email']);
        $this->email->bcc('ivan.rufino.m@gmail.com');
        $this->email->subject('SISCORE: Ativação de Conta');
        $mensagem=$this->load->view('telas/email/ativacao_conta',$dados,true);
        $this->email->message($mensagem);
        $msg="ok";
        if (!$this->email->send()){            
            $msg =$this->email->print_debugger();
        }
        return $msg;
    }
    
    public function getCidade($cod_estado){
        $cidades=  $this->configGeral->getCidade($cod_estado);
        $retorno="";
        foreach ($cidades as $key => $cidade) {
            $retorno.="<option value='".$cidade['NOME']."'>".$cidade['NOME']."</option>";
        }
        echo $retorno;
    }
 
    public function uploadImagem($id,$nomeFoto){
        $novoNomeFoto="imagem_".$id.".jpg";
        if ($nomeFoto=="administrador.jpg"){
            $dados['FOTO']=$novoNomeFoto;
            $this->empresa->updateAdmin($id,$dados);
        }
            $local='assets/fotos/administrador/';
                $config['upload_path'] = $local;
                
		$config['allowed_types'] = 'png|jpg';
		$config['max_size']	= '100';
		$config['max_width']  = '256';
		$config['max_height']  = '256';
                $config['overwrite']  = true;
                $config['file_name']  = $novoNomeFoto;
                $this->upload->initialize($config);
		//$this->load->library('upload', $config);
                $field_name = "foto";
                
		if ( ! $this->upload->do_upload($field_name)){
                    echo $this->upload->display_errors('<div class="alert alert-danger">', '</div>');
			
		}else{
                   $data =  $this->upload->data();
                  // echo "<img src='".$data['full_path']."'>";
                   $ret="<div class='alert alert-success'>";
                   $ret.=  "<img src='".$local.$data['orig_name']."'>";
                   $ret.="<br><span>Arquivo Gravado com Sucesso</span>";
                   $ret.="<div>";
                         echo $ret;
                  // print_r($data);
		
		}
        
    }
    public function getCep($cep){
        $reg = simplexml_load_file("http://cep.republicavirtual.com.br/web_cep.php?formato=xml&cep=" . $cep);
 
            $dados['sucesso'] = (string) $reg->resultado;
            $dados['rua']     = (string) $reg->tipo_logradouro . ' ' . $reg->logradouro;
            $dados['bairro']  = (string) $reg->bairro;
            $dados['cidade']  = (string) $reg->cidade;
            $dados['estado']  = (string) $reg->uf;

                echo json_encode($dados);
    }
    /*DAQUI PRA BAIXO É TESTE*/
    public function deleteAtendenteInativo(){
        //Buscar e excluir atendentes que não fizeram a ativação do cadastro
        $empresas=$this->empresa->getEmpresas();
        foreach ($empresas as $empresa) {
            $dados="Os seguinte Usuarios foram excluidos por inatividade<br>";
            $atendentes=$this->atendente->getAtendenteByEmpresa($empresa['CODIGO'],'0'); 
            foreach ($atendentes as $atendente) {
                
           // EXCLUIR CADA ATENDENTE A PARTIR DAQUI
            $dados.="Nome: ".$atendente['NOME'];$dados.="<br>";
            $dados.="Login: ".$atendente['LOGIN'];$dados.="<br>";
            $dados.="Email: ".$atendente['EMAIL'];$dados.="<br>";
            $dados.="<hr>";
            }
            // ENVIAR EMAIL PARA O ADMINISTRADOR DA EMPRESA
            $this->printArray($dados);
        }
         
        die();
         
    }
   public function boleto($valor=35){
       
     $this->load->library("My_Boleto");
        //$boleto=new My_Boleto();
         $boleto=new My_Boleto();
        $bradesco= $boleto->setBanco('Bradesco');
        $bradesco->setValor($valor);
        $bradesco->setTaxaBoleto(0);
        
        
        $codigo="324846547"; //este numero vira do banco da tabela pagamento/ cada pagamento ser� gerado para um cliente
        $bradesco->setDadosBoleto($codigo);
        $cliente=array(
                'sacado'=>'Ivan Rufino Martins',
                'endereco1'=>'Rua Madureira, 240',
                'endereco2'=>'São João de Meriti - RJ - CEP: 25565-241'            
        );
        $demostrativo=array("Pagamento de Mensalidade Servi�o SISCORE","Plano Mensal", "www.siscore.com.br");
        $instrucoes=array(
            "- Sr. Caixa, cobrar multa de 2% ap�s o vencimento",
            "- Receber at� 10 dias ap�s o vencimento", 
            "- Em caso de d�vidas entre em contato conosco: www.siscore.com.br",
            "- Atenciosamente");
            
        

// DADOS PERSONALIZADOS - Bradesco
        
        $dadosConta=array(
            'agencia'=>'0436',
            'agencia_dv'=>'0',
            'conta'=>'0455503',
            'conta_dv'=>'1',
            'conta_cedente'=>'0102003',
            'conta_cedente_dv'=>'4',
            'carteira'=>'6');
        $dadosEmpresa=array(
            "identificacao" => "SISCORE Sistema de Controle de Receitas",
            "cpf_cnpj" => "09878909897",
            "endereco" => "Endere�o Completo, se tiver",
            "cidade_uf" => "RJ",
            "cedente" => "SISCORE",
        );
        $bradesco->setDadosCliente($cliente);
        $bradesco->setDemostrativo($demostrativo);
        $bradesco->setInstrucoes($instrucoes);
         $bradesco->setDadosConta($dadosConta);
         $bradesco->setDadosEmpresa($dadosEmpresa);
        
        $dados=$bradesco->gerarBoleto(); 
       $this->load->view("boleto/layout_bradesco",$dados);
      
         //$this->printArray($dados);
   }
   public function boletopdf($valor=35){
       
     $this->load->helper(array('dompdf', 'file'));
     $this->load->library("My_Boleto");
     $html=  file_get_contents(base_url()."admin/boleto/45.html");
      //  $html="<h1 style='color:red'>testador</h1><p>alguma coisa aqui</p>";
        pdf_create($html, 'boleto_nome_da_pessoa');
       
      //  $datas = pdf_create($html, '', false);
     //write_file('name', $datas);
         //$this->printArray($dados);
   }
   
    public function printArray($array){
        echo "<pre>";
        print_r($array);
        echo "</pre>";
    }
}

/* End of file home.php */
/* Location: ./application/controllers/home.php */